classdef RandomSeedable < BatHandle
    %@RANDOMSEEDABLE Interface of having random seed
    %   Detailed explanation goes here
    
    properties ( SetAccess = protected )
        randomSeed
    end
    
    methods % Set methods
        function [  ] = setRandomSeed( this, randomSeed )
            %SETRANDOMSEED Summary of this function goes here
            %   Detailed explanation goes here
            % RandomSeedable
            
            if nargin == 1
                this.randomSeed = rng('default');
                return
            end
            if nargin == 2
                this.randomSeed = randomSeed;
            end
        end
    end
    
    methods
        function [ this ] = RandomSeedable(  )
            this.setRandomSeed();
        end
    end
    
end

